Image forming apparatus, control method, and storage medium storing program

ABSTRACT

Disclosed is a control method for an image forming apparatus including firmware and an application operating on the firmware, the control method including registering a size of a defined sheet in a storage unit in accordance with a user operation under control of the firmware, accepting a selection instruction of the registered size of the defined sheet in accordance with the user operation under control of the application, and control printing using the defined sheet having the size according to the selection instruction under the control of the firmware.

BACKGROUND Field of the Disclosure

The present disclosure relates to an image forming apparatus that canoperate an arbitrary application on firmware.

Description of the Related Art

Up to now, an image forming apparatus that can operate an arbitraryapplication on firmware has been proposed. The above-describedapplication includes, for example, an application in which document datais previously registered on a Web page in addition to printing settingssuch as a sheet size, a printing side, and the number of copies, and theregistration is called by a panel of the apparatus at a desired timingby a user, so that printing of a regular size document is controlled.

In the above-described application, in a case where a so-calleduser-defined sheet which is not a regular sheet is desired to be used,the following step is to be taken. First, the user selects theuser-defined sheet as a sheet size in the application and previouslyregisters values of a width and a height of the sheets. Next, the usersets the user-defined sheet in a tray and sets the width and the heightof the user-defined sheet set in the tray in a tray setting of anapparatus. When these two setting values of the width and the height arematched with each other, it becomes possible to perform the printing onthe desired user-defined sheet for the first time.

This is equivalent to a flow for a user-defined sheet registration in aprinter driver on a personal computer (PC) and a sheet size setting inthe apparatus. Japanese Patent Laid-Open No. 2006-88638 describes atechnology for simplifying the size registration of the user-definedsheet in the PC. According to this technology, the apparatusautomatically detects a size of the user-defined sheet to register thissize and further transmits the size to a printer driver. The printerdriver displays a list of received sheet sizes and registers the sheetsize selected by the user.

SUMMARY

In view of the above, according to an aspect of the present invention,there is provided an image forming apparatus including firmware, anapplication operating on the firmware, a first registration unitconfigured to register a size of a defined sheet in a storage unit inaccordance with a user operation under control of the firmware, a firstacceptance unit configured to accept a selection instruction of the sizeof the defined sheet registered by the first registration unit inaccordance with the user operation under control of the application, anda control unit configured to control printing using the defined sheethaving the size according to the selection instruction under the controlof the firmware.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a hardware configuration of an MFP.

FIG. 2 is a functional configuration diagram of the MFP.

FIG. 3 is a flow chart illustrating sheet size registration processing.

FIG. 4 illustrates an example of a sheet size registration screen.

FIG. 5 is a flow chart illustrating processing related to a buttonregistration.

FIG. 6 illustrates an example of a button registration screen.

FIG. 7 illustrates an example of a home screen.

FIG. 8 illustrates an example of a printing screen.

FIG. 9 is a flow chart illustrating job request processing.

FIG. 10 is a flow chart illustrating job generation processing.

DESCRIPTION OF THE EMBODIMENTS

Hereinafter, exemplary embodiments of the present invention will bedescribed with reference to the drawings.

FIG. 1 illustrates a hardware configuration of a multi-functionperipheral (MFP) according to the present exemplary embodiment. Itshould be noted that the MFP is an example of an image formingapparatus. As illustrated in FIG. 1, an MFP 10 includes a centralprocessing unit (CPU) 101, a read only memory (ROM) 102, a random accessmemory (RAM) 103, a display unit controller 104, a display unit 105, anoperation unit controller 106, and an operation unit 107. The MFP 10also includes an eMMC host controller 108, an embedded MultiMediaCard(eMMC) 109, a reading controller 110, a reading unit 111, a recordingcontroller 112, and a recording unit 113. The MFP 10 further includes auniversal serial bus (USB) host controller 114, a MODEM 115, a networkcontrol unit (NCU) 116, and a network interface card (NIC) 117.

The CPU 101 controls the respective devices connected to a system bus118 in an overall manner. When power is supplied, the CPU 101 executes aboot program stored in the ROM 102. Normally, the boot program loads amain program saved in a storage onto the RAM 103 and jumps to thebeginning of the loaded main program. The RAM 103 functions as not onlya loading location of the main program but also a work area of the mainprogram and the like. The CPU 101 realizes processing which will bedescribed below by executing various control programs.

The display unit controller 104 controls drawing with respect to thedisplay unit 105. The display unit 105 is a full bitmap liquid crystaldisplay (LCD) of a WVGA size. The operation unit controller 106 controlsan input from the operation unit 107 mounted to the MFP. The operationunit 107 is constituted by a touch panel overlapped on the display unit105. The reading unit 111 performs reading of a document. An autodocument feeder (not illustrated) is mounted to the reading unit 111 asan option, and a plurality of documents can be automatically read. Thereading unit 111 is connected to the reading controller 110, and the CPU101 performs exchange with the reading unit 111 via the readingcontroller 110.

The recording unit 113 forms an image on a recording sheet by anelectrophotographic method. The recording unit 113 is connected to therecording controller 112, and the CPU 101 performs exchange with therecording unit 113 via the recording controller 112. The USB hostcontroller 114 governs control based on a USB protocol and intermediatesan access to a USB device such as a USB memory (not illustrated).

The MODEM 115 performs modulation and demodulation used for a facsimile(FAX) communication. The MODEM 115 is connected to an NCU 116. A signalmodulated by the MODEM 115 is transmitted to a public switched telephonenetwork (PSTN) via the NCU 116. An NIC 117 exchanges data in abidirectional manner with a main or file server or the like via a LAN.The NIC 117 also exchanges data in a bidirectional manner with a Webserver or the like. The MFP 10 according to the present exemplaryembodiment is provided with the eMMC 109 as a storage. The CPU 101accesses the eMMC 109 via the eMMC host controller 108.

FIG. 2 is a functional configuration diagram of the MFP 10. Therespective units indicated by solid lines in FIG. 2 are software modulesrealized when the CPU 101 executes the main program loaded onto the RAM103 by the above-described boot program. According to the main program,execution of each of the modules which will be described below ismanaged and controlled by an operating system (OS) 301. A device driver308 is combined with the OS 301. The device driver 308 intermediatesexchanges with a hardware device such as the display unit controller104, the operation unit controller 106, or the reading controller 110.

A user interface (UI) 302 provides various information to a user via thedisplay unit 105 and the operation unit 107 and also accepts variousinstructions from the user. Various settings for switching behaviors ofthe MFP 10 can also be change by the UI 302. Although not illustrated inthe drawings, the various settings changed by the UI 302 are physicallystored in the eMMC 109 via a data management module.

A job controller 303 accepts a job such as copying, printing, or fax andcontrols execution of the accepted job. A storage 306 is, for example, asoftware module for physically storing data such as images transmittedor received by the facsimile and the user settings in the eMMC 109 to bemanaged. For example, when the job controller 303 accepts the fax job inthe MFP 10 according to the present exemplary embodiment, a scan 307accepts the job request and controls the reading unit 111 to scan thedocument. Then, the scan 307 stores the scanned facsimile image data inthe storage 306. The facsimile image data stored in the storage 306 isread out by a FAX 304 to be transmitted by the facsimile to an oppositeparty via the MODEM 115 and the NCU 116. Alternatively, the image datareceived from the opposite party by the facsimile via the MODEM 115 andthe NCU 116 is taken into the FAX 304 and stored in the storage 306.

The MFP 10 according to the present exemplary embodiment includes avirtual machine (VM)/framework (FW) 309. An extended application (AP)310 is constituted by an arbitrary program written in a script languageor the like. For example, Java (registered trademark) serving as aninterpreter for interpreting and executing bytecodes or a languagesystem such as Lua may also be used. The extended AP 310 is an exampleof the application operating on firmware of the image forming apparatus.The VM/FW 309 installs an arbitrary program written in a script languageor a predetermined high-level language into the extended AP 310 oruninstalls the program from the extended AP 310. The VM/FW 309 alsogoverns arbitration between a function realized by the arbitrary programinstalled into the extended AP 310 and an existing function or the like.The VM/FW 309 interprets and executes the written script language. Withthese processes, the MFP 10 according to the present exemplaryembodiment can easily realize arbitrary functions such as a login AP 314and a printing AP 313 for printing a template sentence while maintainingremovability of the functions. A UI device controller 311 intermediatesoutput of various information to the display unit 105 by the UI 302 andthe extended AP 310 and transmission of the user operation to the UI 302and the extended AP 310 by the operation unit 107.

FIG. 3 is a flow chart illustrating a sheet size registration processingof a user-defined sheet by the MFP 10. It should be noted that the sheetsize registration processing is processing realized by the boot programas processing of the UI 302, and is processing executed by the CPU 101.Herein, the boot program is an example of a program of the firmware ofthe MFP 10. FIG. 4 illustrates an example of a sheet size registrationscreen displayed on the display unit 105 at the time of the execution ofthe sheet size registration processing. A plurality of buttons aredisplayed on a sheet size registration screen 400. In the example ofFIG. 4, three buttons including an S1 button 411, an S2 button 412, andan S3 button 413 are displayed. The respective buttons are iconscorresponding to numbers assigned to the buttons to be associated withuser-defined sheets. It should be noted that, according to the presentexemplary embodiment, the MFP 10 can register up to three user-definedsheets, and the three buttons are displayed while corresponding to thethree user-defined sheets. It should be noted however that the number ofuser-defined sheets that can be registered is not limited to theexemplary embodiment, and the number of displayed buttons is not alsolimited to three to correspond to the user-defined sheets.

Input fields 421 and 422 are further displayed on the sheet sizeregistration screen 400 to input a width (X) and a height (Y) of thesheet as the sheet size. It should be noted that the input fields 421and 422 are blank at the display starting time on the sheet sizeregistration screen 400. When the user registers the sheet size of theuser-defined sheet on the sheet size registration screen 400, the userselects one of the buttons 411 to 413 and inputs the sheet size. Withthis configuration, the sheet size is registered while being associatedwith the button number assigned to the selected button.

In S301 of FIG. 3, when one of the buttons 411 to 413 is selected by theuser operation on the sheet size registration screen 400, the CPU 101accepts the selection instruction of the button number assigned to theselected button. This processing is an example of the acceptanceprocessing. Next, in S302, in a case where the sheet size is alreadyassociated with the selected button, the CPU 101 displays the associatedsheet size on the sheet size registration screen 400. Specifically, theCPU 101 displays the width and the height of the sheet in the inputfields 421 and 422 on the sheet size registration screen 400 as thesheet. It should be noted that, in a case where the sheet size is notassociated with the selected button, the display of the sheet size inthe input fields 421 and 422 is not necessary. In the example of FIG. 4,the S1 button 411 is selected by the user. As the sheet size associatedwith the S1 button 411, “100 (mm)” is displayed in the input field 421,and “150 (mm)” is displayed in the input field 422. In this state, theuser inputs the sheet size desired to be associated with the selectedbutton in the input fields 421 and 422.

In S303, the CPU 101 accepts the sheet size in accordance with theinputs into the input fields 421 and 422. Next, in S304, the CPU 101checks whether or not the button is changed. For example, when the S2button 412 is newly selected in a state in which the S1 button 411 isselected, it is determined that the button is changed. In a case wherethe button is changed (S304: Yes), the CPU 101 advances the processingto S302. In this case, the CPU 101 uses the button after the change asthe processing target and performs the processing in S302 and subsequentsteps. In a case where the button is not changed (S304: No), the CPU 101advances the processing to S305.

In S305, the CPU 101 checks whether or not an OK button 431 or a returnbutton 432 is pressed in accordance with the user operation on the sheetsize registration screen 400. In a case where the OK button 431 ispressed (S305: OK), the CPU 101 advances the processing to S306. In acase where the return button 432 is pressed (S305: return), the CPU 101ends the sheet size registration processing. In a case where none of thebuttons is pressed (S305: unselected), the CPU 101 advances theprocessing to S303. In S306, the CPU 101 associates the sheet size inputin the input fields 421 and 422 with the button number assigned to theselected buttons 411 to 413 to be stored in a saving area of theuser-defined sheet included in the eMMC 109. With this configuration,the user-defined sheet can be identified by the button number. That is,the button number is an example of identification information foridentifying the user-defined sheet. In addition, the processing in S306is an example of registration processing for registering the sheet sizein the storage unit while being associated with the identificationinformation. The sheet size registration processing is completed in theabove-described manner.

FIG. 5 is a flow chart illustrating button registration processingprovided by an extended application program of the MFP 10 andnotification processing provided by the boot program. Herein, the buttonregistration processing is processing interpreted by the VM/FW 309 andexecuted by the CPU 101 as processing of the printing AP 313 installedinto the extended AP 310. On the other hand, the notification processingis processing executed by the CPU 101 as processing of the VM/FW 309.FIG. 6 illustrates an example of a button registration screen 600displayed on the display unit 105 when the button registrationprocessing is executed. The button registration screen 600 is a Web pagecreated by HTML and displayed by a Web browser.

The user can register a name of the button to be associated with theregistered sheet size, a path of a template document file, and the likeon the button registration screen 600. Furthermore, a plurality of sheetsizes are displayed in a pull-down format in a sheet size field 610. Thesheet size of the user-defined sheet registered in the sheet sizeregistration processing (FIG. 3) is also displayed and can be selectedby the user. In a case where the user selects the sheet size of theuser-defined sheet in the sheet size field 610, it is possible toperform a setting to a specification field 620 of the sheet size. Tworadio buttons 621 and 622 corresponding to “specify size” and “usedevice setting” are displayed in the specification field 620. Inaddition, a size input field 623 and a button number selection field 624are included in the specification field 620.

The button registration processing illustrated in FIG. 5 will bedescribed. In S501, the CPU 101 requests the VM/FW 309 for the sheetsize stored in the user-defined sheet saving area of the eMMC 109. TheVM/FW 309 reads out the sheet size stored in the user-defined sheetsaving area of the eMMC 109 in S521 of the notification processing andreturns the sheet size to the extended AP 310. After the processing inS501, in S502, the CPU 101 checks whether or not the sheet size of theuser-defined sheet is registered in the eMMC 109. The CPU 101 determinesthat the registration of the sheet size exists in a case where one ormore sheet sizes are obtained in S501. In a case where it is determinedthat the registration exists (S502: Yes), the CPU 101 advances theprocessing to S503. In a case where it is determined that theregistration does not exist (S502: No), the CPU 101 advances theprocessing to S506.

In S503, the CPU 101 performs control such that the radio buttons 621and 622 are displayed to be selectable. Then, the CPU 101 checks whetheror not any one of the radio buttons 621 and 622 is selected. In a casewhere the radio button 621 corresponding to “specify size” is selected(S503: size specification), the CPU 101 advances the processing to S504.In a case where the radio button 622 corresponding to “use devicesetting” is selected (S503: device setting), the CPU 101 advances theprocessing to S505.

In S504, the CPU 101 performs control such that the size input field 623is displayed, and an input can be performed. Then, the CPU 101 acceptsthe sheet size input in the size input field 623. Thereafter, the CPU101 advances the processing to S507. In S505, the CPU 101 performscontrol such that the button number selection field 624 is displayed,and an operation can be performed. The CPU 101 then accepts the selectedbutton number in the button number selection field 624. Thereafter, theCPU 101 advances the processing to S507. It should be noted that aplurality of button numbers are displayed in a pull-down format in thebutton number selection field 624, and the user can select a desiredbutton number. It should be noted that only the button number associatedwith the sheet size is displayed in the button number selection field624 on the sheet size registration screen 400 illustrated in FIG. 4. Inaddition, the sheet size is displayed together with the button number.In S506, the CPU 101 performs control such that the radio button 622corresponding to “use device setting” is displayed as not selectable.Thereafter, the CPU 101 advances the processing to S504.

In S507, the CPU 101 checks whether or not the selection of the radiobuttons 621 and 622 is changed. In a case where the selection of theradio buttons 621 and 622 is changed (S507: Yes), the CPU 101 advancesthe processing to S503. In a case where the selection of the radiobuttons 621 and 622 is not changed (S507: No), the CPU 101 advances theprocessing to S508. In S508, the CPU 101 checks whether or not an OKbutton 631 or a cancel button 632 is pressed on the button registrationscreen 600. In a case where the OK button 631 is selected (S508: OK),the CPU 101 advances the processing to S509. In a case where the cancelbutton 632 is selected (S508: cancel), the CPU 101 ends the buttonregistration processing. In a case where none of the OK button 631 andthe cancel button 632 is selected (S508: unselected), the CPU 101advances the processing to S507.

In S509, the CPU 101 checks a specification method for the user-definedsheet. In a case where the radio button 621 corresponding to “specifysize” is selected (S509: size specification), the CPU 101 advances theprocessing to S510. In a case where the radio button 622 correspondingto “use device setting” is selected (S509: device setting), the CPU 101advances the processing to S511. In S510, the CPU 101 stores the sheetsize (width and height) input in the size input field 623 in the storage306 together with the button name, the file path, and the specificationmethod for the user-defined sheet (size specification) and ends thebutton registration processing. On the other hand, in S511, the CPU 101stores the selected button number in the button number selection field624 in the storage 306 together with the button name, the file path, andthe specification method for the user-defined sheet (device setting) andends the button registration processing. Herein, the button name isinformation associated with the user-defined sheet via the buttonnumber, and the user-defined sheet can be identified by the button name.That is, the button name is an example of the identification informationfor identifying the user-defined sheet. In addition, the processing inS511 is an example of the registration processing for registering theidentification information of the defined sheet while being associatedwith the sheet size of the user-defined sheet.

When the button registration processing is completed, a button of theuser-defined sheet registered in the button registration processing isdisplayed on a home screen. FIG. 7 is an example of a home screen towhich a button of the user-defined sheet is added. A button 701 of theuser-defined sheet is displayed on a home screen 700. Processing fordisplaying the button 701 is performed as follows. That is, the printingAP 313 installed into the extended AP 310 requests the UI 302 to displaythe button via the VM/FW 309 when the button registration processing iscompleted. The UI 302 displays the button 701 on the home screen 700 inaccordance with the request. For example, as illustrated in FIG. 6, in acase where “receipt” is registered as the button name, the button name“receipt” is displayed in addition to an icon previously embedded in theprinting AP 313 as in the button 701 of FIG. 7.

When the button 701 illustrated in FIG. 7 is selected, a printing screenfor instructing printing using the user-defined sheet is displayed. FIG.8 illustrates an example of a printing screen. A printing screen 800 isdrawn by the printing AP 313 which has been activated in response to apress of the button 701. The printing AP 313 according to the presentexemplary embodiment displays contents of the button registered in thebutton registration screen 600 illustrated in FIG. 6 on the printingscreen 800.

FIG. 9 is a flow chart illustrating job request processing. The jobrequest processing is processing realized by the printing AP 313 and isalso processing executed by the CPU 101. The job request processing isstarted in a case where an OK button 801 is selected on the printingscreen 800 illustrated in FIG. 8. It should be noted that, in a casewhere the OK button 801 is selected, the CPU 101 accepts a selectioninstruction of the sheet size of the user-defined sheet displayed on theprinting screen 800. This processing is an example of the acceptanceprocessing. In S901, the CPU 101 checks whether or not the sheet sizedisplayed on the printing screen 800, that is, the sheet size stored inthe storage 306 is the sheet size of the user-defined sheet. Thiscorresponds to whether or not the user-defined sheet is selected in thesheet size field 610 on the button registration screen 600 illustratedin FIG. 6. In a case where the sheet size of the user-defined sheet isstored (S901: Yes), the CPU 101 advances the processing to S902. In acase where the sheet size of the user-defined sheet is not stored (S901:No), the CPU 101 advances the processing to S905.

In S902, the CPU 101 checks a specification method for the user-definedsheet. In a case where the specification method is a size specification(S902: size specification), the CPU 101 advances the processing to S903.In a case where the specification method is a device setting (S902:device setting), the CPU 101 advances the processing to S904. In S903,the CPU 101 requests the VM/FW 309 to generate a job by using theregistered contents including the sheet size (width and height) storedin the storage 306 in S510 (FIG. 5). Thereafter, the CPU 101 advancesthe processing to S906. In S904, the CPU 101 requests the VM/FW 309 togenerate a job by using the registered contents including the buttonnumber stored in the storage 306 in S511. Thereafter, the CPU 101advances the processing to S906. In S905, the CPU 101 requests the VM/FW309 to generate a job by using the regular size. Thereafter, the CPU 101advances the processing to S906.

In S906, the CPU 101 receives a request result from the VM/FW 309. Next,in S907, the CPU 101 checks the request result. In a case where therequest result is a success (S907: Yes), the CPU 101 ends the jobrequest processing. In a case where the request result is a failure(S907: No), the CPU 101 advances the processing to S908. In S908, theCPU 101 displays an error of the job request and ends the job requestprocessing.

FIG. 10 is a flow chart illustrating job generation processing. The jobgeneration processing is processing realized by the VM/FW 309 and alsoprocessing executed by the CPU 101. The job generation processing isstarted in a case where the job request is accepted in accordance withthe processing in S903, S904, or S905 of FIG. 9. In S1001, the CPU 101checks whether or not the job request is the job request using theuser-defined sheet. In a case where the job request is the job requestusing the user-defined sheet (S1001: Yes), the CPU 101 advances theprocessing to S1002. In a case where the job request is not the jobrequest using the user-defined sheet (S1001: No), the CPU 101 advancesthe processing to S1008.

In S1002, the CPU 101 checks the specification method for the sheet sizeof the user-defined sheet. In a case where the specification method is asize specification (S1002: size specification), the CPU 101 advances theprocessing to S1003. In a case where the specification method is adevice setting (S1002: device setting), the CPU 101 advances theprocessing to S1005. It should be noted that the case of the sizespecification corresponds to S903 illustrated in FIG. 9 and isequivalent to the acceptance of the job request using the sheet size. Onthe other hand, the case of the device setting corresponds to S904illustrated in FIG. 9 and is equivalent to the acceptance of the jobrequest using the button number.

In S1003, the CPU 101 checks whether or not the sheet size isappropriate. In a case where the sheet size is appropriate (S1003: Yes),the CPU 101 advances the processing to S1004. In a case where is notappropriate the sheet size (1003: No), the CPU 101 advances theprocessing to S1010. In S1004, the CPU 101 generates the job by usingthe specified sheet size. Thereafter, the CPU 101 advances theprocessing to S1009.

In S1005, the CPU 101 checks whether or not the sheet size of theuser-defined sheet is registered while being associated with thespecified button number. In a case where the sheet size is registered(S1005: Yes), the CPU 101 advances the processing to S1006. In a casewhere the sheet size is not registered (S1005: No), the CPU 101 advancesthe processing to S1010.

In S1006, the CPU 101 identifies the sheet size on the basis of thebutton number. Specifically, the CPU 101 reads out the sheet size (widthand height) associated with the specified button number from theuser-defined sheet saving area of the eMMC 109 via the above-describeddata management module. Next, in S1007, the CPU 101 generates the job byusing the identified sheet size and thereafter advances the processingto S1009. In S1008, the CPU 101 generates the job by using the specifiedregular sheet and thereafter advances the processing to S1009. In S1009,the CPU 101 notifies the request source of the success of the jobgeneration and ends the job generation processing. In S1010, the CPU 101notifies the request source of the failure of the job generation andends the job generation processing.

As described above, the user can register the desired user-defined sheetwithout inputting the sheet size of the user-defined sheet on theapplication in the MFP 10 according to the present exemplary embodiment.Furthermore, it is possible to carry out the control such that theprinting using the user-defined sheet is performed in accordance withthe selection of the button associated with the registered user-definedsheet in the MFP 10.

In addition, it is possible to update (change) the user-defined sheetassociated with the buttons 411 to 413 displayed on the sheet sizeregistration screen 400 described with reference to FIG. 4 in the MFP 10according to the present exemplary embodiment. For example, after theuser-defined sheet is registered in the S1 button 411, the userregisters a new user-defined sheet with respect to the S1 button 411 inaccordance with the user operation onto the sheet size registrationscreen 400 (FIG. 4). In this case, the MFP 10 registers a sheet size ofthe new user-defined sheet while being associated with the button numberof the S1 button 411. With this configuration, the sheet size after thechange is automatically associated with the button name associated withthe button number. With this configuration, in a case where theuser-defined sheet is updated, the MFP 10 can control the printing usingthe user-defined sheet after the update.

In this manner, the MFP 10 can change the setting of the sheet size ofthe user-defined sheet by only changing the registered contents of theboot program without the user operation for changing the registeredcontents of the application. In this manner, it is possible toappropriately register the sheet size of the user-defined sheet withoutthe complicated operation in the image forming apparatus where theapplication is operated on the firmware.

A first modified example of the present exemplary embodiment will bedescribed. As described with reference to FIG. 5 and FIG. 6, the MFP 10according to the exemplary embodiment can directly input the sheet sizein the application. It should be noted however that the configuration isnot limited to this, and a configuration may also be adopted in whichthe MFP 10 does not directly input the sheet size in the application asanother example.

As a second modified example, according to the present exemplaryembodiment, the MFP 10 previously registers the setting with regard tothe printing request (printing condition) by the processing of thefirmware in accordance with the user operation onto the buttonregistration screen 600 described with reference to FIG. 6. It should benoted however that the timing for the registration of the printingcondition is not limited to the exemplary embodiment. As anotherexample, the CPU 101 may set the printing condition, for example, byselecting the user-defined sheet after the button 701 corresponding tothe user-defined sheet illustrated in FIG. 7 is selected, or the like.

As a third modified example, according to the present exemplaryembodiment, the MFP 10 displays the home screen 700 before the jobrequest but may also perform the processing of the job request or thelike without displaying the home screen 700.

As a fourth modified example, the MFP 10 may perform control to displaya list such that three button numbers can be selected irrespective ofthe presence or absence of the registration in the button numberselection field 624 in S505. It should be noted herein that, in a casewhere the button number is not registered, No is determined in S1005(FIG. 10), and the failure notification is performed as the requestresult of the job. Furthermore, according to this modified example, theprocessing in S501 and S502 may be omitted.

According to the present exemplary embodiment, it is possible toappropriately register the sheet size of the user-defined sheet withoutthe complicated operation.

Other Embodiments

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent Application No.2017-169570, filed Sep. 4, 2017, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An image forming apparatus comprising: firmware;an application operating on the firmware; a first registration unitconfigured to register a size of a defined sheet in a storage unit inaccordance with a user operation under control of the firmware; a firstacceptance unit configured to accept a selection instruction of the sizeof the defined sheet registered by the first registration unit inaccordance with the user operation under control of the application; anda control unit configured to control printing using the defined sheethaving the size according to the selection instruction under the controlof the firmware.
 2. The image forming apparatus according to claim 1,further comprising: a second registration unit configured to registerfirst identification information for identifying the defined sheet inthe storage unit while being associated with the size registered by thefirst registration unit under the control of the application, whereinthe first acceptance unit accepts a selection instruction of the firstidentification information, and wherein the control unit controls theprinting using the defined sheet having the size associated with thefirst identification information according to the selection instruction.3. The image forming apparatus according to claim 2, wherein, in a casewhere the size associated with the first identification information isupdated, the control unit controls the printing using the defined sheethaving the updated size associated with the first identificationinformation according to the selection instruction.
 4. The image formingapparatus according to claim 2, wherein the first registration unitregisters the size while being associated with second identificationinformation for identifying the defined sheet, the image formingapparatus further comprising: a second acceptance unit configured toaccept a selection instruction of the second identification informationin accordance with the user operation under the control of theapplication, and wherein the second registration unit registers thefirst identification information while being associated with the sizeassociated with the second identification information according to theselection instruction.
 5. The image forming apparatus according to claim1, wherein the first acceptance unit further accepts a printingcondition according to the printing using the defined sheet having thesize according to the selection instruction, and wherein the controlunit controls the printing in accordance with the printing conditionaccepted by the first acceptance unit.
 6. A control method for an imageforming apparatus including firmware and an application operating on thefirmware, the control method comprising: registering a size of a definedsheet in a storage unit in accordance with a user operation undercontrol of the firmware; accepting a selection instruction of theregistered size of the defined sheet in accordance with the useroperation under control of the application; and controlling printingusing the defined sheet having the size according to the selectioninstruction under the control of the firmware.
 7. A non-transitorystorage medium that stores a program for causing a computer of an imageforming apparatus to function as the respective units of the imageforming apparatus comprising: firmware; an application operating on thefirmware; a first registration unit configured to register a size of adefined sheet in a storage unit in accordance with a user operationunder control of the firmware; a first acceptance unit configured toaccept a selection instruction of the size of the defined sheetregistered by the first registration unit in accordance with the useroperation under control of the application; and a control unitconfigured to control printing using the defined sheet having the sizeaccording to the selection instruction under the control of thefirmware.